package org.example.analysis.service.dataobj;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.ArrayList;

/**
 * 字段信息数据对象
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FieldDataObject extends BaseDataObject {
    /**
     * 所属类ID
     */
    private Long classId;
    
    /**
     * 字段名
     */
    private String fieldName;
    
    /**
     * 字段类型
     */
    private String fieldType;
    
    /**
     * 字段注释
     */
    private String comment;
    
    /**
     * 访问修饰符
     */
    private String accessModifier;
    
    /**
     * 默认值
     */
    private String defaultValue;
    
    /**
     * 字段注解列表
     */
    private List<String> annotations = new ArrayList<>();
    
    /**
     * 字段修饰符列表
     */
    private List<String> modifiers = new ArrayList<>();
    
    /**
     * 是否是静态字段
     */
    private boolean isStatic;
    
    /**
     * 是否是常量
     */
    private boolean isFinal;
    
    /**
     * 是否是枚举常量
     */
    private boolean isEnumConstant;
} 